/********************************************************************* * * Copyright (C) 2001 Andrew Khan * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ***************************************************************************/ package jxl.biff.drawing; import jxl.common.Logger; import jxl.biff.Type; import jxl.biff.WritableRecordData; import jxl.read.biff.Record; /** * A record which merely holds the MSODRAWING data. Used when copying files * which contain images */ public class MsoDrawingRecord extends WritableRecordData { /** * The logger */ private static Logger logger = Logger.getLogger(MsoDrawingRecord.class); /** * Flag to indicate whether this is the first drawing on the sheet * - needed for copying */ private boolean first; /** * The raw drawing data which was read in */ private byte[] data; /** * Constructs this object from the raw data * * @param t the raw data */ public MsoDrawingRecord(Record t) { super(t); data = getRecord().getData(); first = false; } /** * Constructor * * @param d the drawing data */ public MsoDrawingRecord(byte[] d) { super(Type.MSODRAWING); data = d; first = false; } /** * Expose the protected function * * @return the raw record data */ public byte[] getData() { return data; } /** * Expose the protected function to the SheetImpl in this package * * @return the raw record data */ public Record getRecord() { return super.getRecord(); } /** * Sets the flag to indicate that this is the first drawing on the sheet */ public void setFirst() { first = true; } /** * Accessor for the first drawing on the sheet. This is used when * copying unmodified sheets to indicate that this drawing contains * the first time Escher gubbins * * @return TRUE if this MSORecord is the first drawing on the sheet */ public boolean isFirst() { return first; } }